package net.easyjava.third.letv.bean;


import net.easyjava.tools.BaseBean;

import java.util.List;

/**
 * Created by wxnacy on 2015/12/1.
 */
public class LetvActivity extends BaseBean {
    public static final int ACTIVITYSTATUS_NUBEGIN = 0;//0：未开始
    public static final int ACTIVITYSTATUS_ONLINE = 1;//1：直播中
    public static final int ACTIVITYSTATUS_BREAKOFF = 2;//2：已中断
    public static final int ACTIVITYSTATUS_OVER = 3;//3：已结束

    private static final long serialVersionUID = 7437949019184473650L;
    private String activityId;//
    private String activityName;//直播活动名称
    private int activityStatus;//0：未开始 1：直播中 2：已中断  3：已结束
    private String startTime;//开始时间 格式yyyyMMddHHmmss
    private String endTime;//结束时间 格式yyyyMMddHHmmss
    private int liveNum;//机位数量，范围为：1,2,3,4. 默认为1
    private String codeRateTypes;//流的码率类型，逗号分隔。由大到小排列。取值范围：10 流畅；13 标清；16 高清；19 超清；22 720P；25 1080P
    private int needRecord;//是否支持全程录制 0：否 1：是。默认为0
    private int needTimeShift;//是否支持时移 0：否 1：是。默认为0
    private int needFullView;//是否全景观看 0：否 1：是。默认为0
    private int neededPushAuth;//是否启用推流鉴权 0：否 1：是
    private int pushUrlValidTime;//推流地址有效时长，单位s，启用推流鉴权时有效
    private String liveKey;//直播安全码，计算推流地址时用到的安全码，如果为空的话，则使用客户的安全码
    private int needIpWhiteList;//是否启用IP推流白名单 0：否 1：是。
    private String pushIpWhiteList;//推流IP白名单，启用IP推流白名单时有效。多个IP时，用英文半角逗号分隔，IP最多可以配置10个，值总长度最大为512
    private int needPlayerDomainWhiteList;//是否启用域名白名单，默认为0，否
    private String playerDomainWhiteList;//域名白名单，多个时逗号分隔。最大长度为512，最多为10个
    private String activityCategory;//活动分类（001：发布会、002婚礼、003年会、004体育、005游戏、006旅游&户外、007财经、008演唱会、009烹饪、010宠物&动物、011访谈、012教育，013：竞技、014：剧场、015：晚会、016：电视节目、017：秀场、999其他）
    private int playMode;//播放模式，0：实时直播。1：延时直播
    private List<LetvPushUrl> lives;//直播流列表
    private List<LetvActivityVideo> videos;//录制视频列表
    private int userCount;//观看数量
    private Long liveVideoId;//媒资中直播视频ＩＤ
    private long playVideoId;//媒资中点播视频ID

    public LetvActivity() {
        this.codeRateTypes = "99,25,22,19,16,13,10";
        this.needFullView = 0;
        this.needRecord = 1;
        this.needTimeShift = 1;
        this.activityCategory = "008";
        this.playMode = 0;
    }

    public LetvActivity(String activityName,String startTime,  String endTime, int liveNum) {
        this();
        this.startTime = startTime;
        this.activityName = activityName;
        this.endTime = endTime;
        this.liveNum = liveNum;
    }

    public List<LetvActivityVideo> getVideos() {
        return videos;
    }

    public void setVideos(List<LetvActivityVideo> videos) {
        this.videos = videos;
    }

    public int getNeededPushAuth() {
        return neededPushAuth;
    }

    public void setNeededPushAuth(int neededPushAuth) {
        this.neededPushAuth = neededPushAuth;
    }

    public int getPushUrlValidTime() {
        return pushUrlValidTime;
    }

    public void setPushUrlValidTime(int pushUrlValidTime) {
        this.pushUrlValidTime = pushUrlValidTime;
    }

    public String getLiveKey() {
        return liveKey;
    }

    public void setLiveKey(String liveKey) {
        this.liveKey = liveKey;
    }

    public int getNeedIpWhiteList() {
        return needIpWhiteList;
    }

    public void setNeedIpWhiteList(int needIpWhiteList) {
        this.needIpWhiteList = needIpWhiteList;
    }

    public String getPushIpWhiteList() {
        return pushIpWhiteList;
    }

    public void setPushIpWhiteList(String pushIpWhiteList) {
        this.pushIpWhiteList = pushIpWhiteList;
    }

    public int getNeedPlayerDomainWhiteList() {
        return needPlayerDomainWhiteList;
    }

    public void setNeedPlayerDomainWhiteList(int needPlayerDomainWhiteList) {
        this.needPlayerDomainWhiteList = needPlayerDomainWhiteList;
    }

    public String getPlayerDomainWhiteList() {
        return playerDomainWhiteList;
    }

    public void setPlayerDomainWhiteList(String playerDomainWhiteList) {
        this.playerDomainWhiteList = playerDomainWhiteList;
    }

    public List<LetvPushUrl> getLives() {
        return lives;
    }

    public void setLives(List<LetvPushUrl> lives) {
        this.lives = lives;
    }

    public int getUserCount() {
        return userCount;
    }

    public void setUserCount(int userCount) {
        this.userCount = userCount;
    }

    public String getActivityName() {
        return activityName;
    }

    public String getActivityId() {
        return activityId;
    }

    public void setActivityId(String activityId) {
        this.activityId = activityId;
    }

    public int getActivityStatus() {
        return activityStatus;
    }

    public void setActivityStatus(int activityStatus) {
        this.activityStatus = activityStatus;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public int getLiveNum() {
        return liveNum;
    }

    public void setLiveNum(int liveNum) {
        this.liveNum = liveNum;
    }

    public String getCodeRateTypes() {
        return codeRateTypes;
    }

    public void setCodeRateTypes(String codeRateTypes) {
        this.codeRateTypes = codeRateTypes;
    }

    public int getNeedRecord() {
        return needRecord;
    }

    public void setNeedRecord(int needRecord) {
        this.needRecord = needRecord;
    }

    public int getNeedTimeShift() {
        return needTimeShift;
    }

    public void setNeedTimeShift(int needTimeShift) {
        this.needTimeShift = needTimeShift;
    }

    public int getNeedFullView() {
        return needFullView;
    }

    public void setNeedFullView(int needFullView) {
        this.needFullView = needFullView;
    }

    public String getActivityCategory() {
        return activityCategory;
    }

    public void setActivityCategory(String activityCategory) {
        this.activityCategory = activityCategory;
    }

    public int getPlayMode() {
        return playMode;
    }

    public void setPlayMode(int playMode) {
        this.playMode = playMode;
    }

	public Long getLiveVideoId() {
		return liveVideoId;
	}

	public void setLiveVideoId(Long liveVideoId) {
		this.liveVideoId = liveVideoId;
	}

	public long getPlayVideoId() {
		return playVideoId;
	}

	public void setPlayVideoId(long playVideoId) {
		this.playVideoId = playVideoId;
	}

}
